// 2025/8/23
// 兑换零钱

#include <climits>
#include <iostream>
#include <vector>
using namespace std;

int main() {
    int n, aim; cin >> n >> aim;
    vector<int> nums(n), dp(aim + 1, 5001);
    dp[0] = 0;
    for(auto &num : nums)
        cin >> num;
    
    for(int i = 1; i <= aim; i++)
    {
        for(auto num : nums)
        {
            if(i - num >= 0)
                dp[i] = min(dp[i], dp[i - num] + 1);
        }
    }
    cout << (dp[aim] == 5001 ? -1 : dp[aim]) << endl;
}
// 64 位输出请用 printf("%lld")